#include <iostream>
#include "cute.h"
#include "ide_listener.h"
#include "cute_runner.h"
#include "DogDoorSuite.h"
#include "DogDoor.h"
#include "RemoteCtrl.h"
#include "BarkRecognizer.h"

void thisIsADogDoorSuiteTest() {
	Bark bark("Woof");
	Bark barkC("Woof");
	Bark barkB("W");
	DogDoor* door = new DogDoor();
	door->addAllowedBark(bark);
	RemoteCtrl* remote = new RemoteCtrl(door);
	BarkRecognizer recog(door);
	std::cout<<"Fido barks."<<std::endl;
	remote->pressButton();
	std::cout<<"Fido goes out."<<std::endl;
	remote->pressButton();

	recog.recognize(barkC);
	recog.recognize(barkB);
	ASSERTM("start writing tests", true);
	delete remote;
	delete door;
}

cute::suite make_suite_DogDoorSuite(){
	cute::suite s;
	s.push_back(CUTE(thisIsADogDoorSuiteTest));
	return s;
}



